Python数学运算入门把Python当作计算器
让我们尝试一些简单的 Python 命令。启动解释器,等待界面中的提示符,>>>
(这应该花不了多少时间)。
3.1.1. 数字
解释器就像一个简单的计算器一样:你可以在里面输入一个表达式然后它会写出答案。 表达式的语法很直接:运算符 +
、-
、*
、/
的用法和其他大部分语言一样(比如 Pascal 或者 C 语言);括号 (()
) 用来分组。比如:
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.6
整数(比如 2
、4
、20
)有 int
类型,有小数部分的(比如 5.0
、1.6
)有 float
类型。在这个手册的后半部分我们会看到更多的数值类型。
除法运算 (/
) 永远返回浮点数类型。如果要做 floor division 得到一个整数结果(忽略小数部分)你可以使用 //
运算符;如果要计算余数,可以使用 %
>>> 17 / 3 # classic division returns a float 5.666666666666667 >>> >>> 17 // 3 # floor division discards the fractional part 5 >>> 17 % 3 # the % operator returns the remainder of the division 2 >>> 5 * 3 + 2 # result * divisor + remainder 17
在Python中,可以使用 **
运算符来计算乘方
>>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 128
等号 (=
) 用于给一个变量赋值。然后在下一个交互提示符之前不会有结果显示出来:
>>> width = 20
>>> height = 5 * 9
>>> width * height
900
如果一个变量未定义(未赋值),试图使用它时会向你提示错误:
>>> n # try to access an undefined variable Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'n' is not defined
Python中提供浮点数的完整支持;包含多种混合类型运算数的运算会把整数转换为浮点数:
>>> 4 * 3.75 - 1 14.0
在交互模式下,上一次打印出来的表达式被赋值给变量 _
。这意味着当你把Python用作桌面计算器时,继续计算会相对简单,比如:
>>> tax = 12.5 / 100 >>> price = 100.50 >>> price * tax 12.5625 >>> price + _ 113.0625 >>> round(_, 2) 113.06
这个变量应该被使用者当作是只读类型。不要向它显式地赋值——你会创建一个和它名字相同独立的本地变量,它会使用魔法行为屏蔽内部变量。
除了 int
和 float
,Python也支持其他类型的数字,例如 Decimal
或者 Fraction
。Python 也内置对 复数 的支持,使用后缀 j
或者 J
就可以表示虚数部分(例如 3+5j
)。